在一開始試試玩玩看 MedusaJS
的時候,我也只有說 Shipping Cannel(銷售通路)
只是一個設定,設定這樣商品是在哪裡買賣,有可能是特殊的直播帶貨、其他電商等等。
但是,不單單只是歸類,他也有一項非常特殊的功能,就是Publishable API Keys
的設定。
Publishable API Keys
主要功能就是限制前端可以發送的API
,簡單意思就是說可以使用到的服務。
所以 MedusaJS 通路設定其實不單單只是一個歸類而已,是真的有實質上的幫助,就是限制服務。直播帶貨前端的商品可以有特有服務,例如另類的快速結帳連結
Shipping Profile(配送設定檔)最主要意義就是可以限定與歸類每個 Product(產品)的運送限制。
可以用來 限制產品的出運貨設定。
例如:水餃是冷凍運送、易碎物品限定慢速運送等等。
但是也有如下的例外:
如果你的商品是服務、虛擬商品、圖片等等。
如果你的產品有產品變體,並且此產品變體想要運用不同的Shipping Profile(配送設定檔),那可以在產品變體下使用requires_shipping 覆蓋運送。
這裡文件補充一點容易被誤會的地方:
在結帳 (checkout) 時,Medusa 會基於 購物車的運送地址 (shipping address) 去找適合的 配送選項 (shipping options)
即使購物車裡所有商品都不需要運送(例如全是數位商品),系統 仍然會 回傳配送選項給前端,因為後端只是根據地址提供選項,並不會自動剔除「不需要運送」的情況
如果你真的希望「若購物車完全不需要運送,就不顯示任何配送選項」:
設定檔是一個在MeudsaJS
後端儀表板非常簡單就可以設定的東西,但是我在前面探查基本功能時,能用系統設定我就是會使用系統設定,不會想說要創建一個新的還是啥的,因為一項流程還沒有搞到很清楚,若是多加一些設定進去,可能會造成各位你我學習中的混亂。所以在 Day13 開始我有做一個整理,讓大家完美的去從上而下完美理解流程,在去了解流程中一些些細流。
設定檔可以是一個簡單的歸類、也可以是一種限制。
甚至加上一點擴充,一定也能加上一些色彩,就比如剛剛所提到的對於運輸設定檔與購物車內的檢查,這一種自動化的檢查,也是一種非常實用的功能。